import { ContractApi } from '@/api'
import CommonModel from './common'

// 日常养护 /日常养护计量 /合同管理
class ContractModel extends CommonModel {
    constructor() {
        super()
        this.api = new ContractApi()
    }

    contractorList(data) {
        return this.api.contractorList(data)
    }

    // 获取不分页的合同列表，用于获取合同下拉框
    allList(data) {
        return this.api.allList(data)
    }

    // 名称唯一性检查
    validNameUnique(data) {
        return this.api.validNameUnique(data)
    }
    // 清单子目编码唯一性检查
    validQuantitiesUnique(data) {
        return this.api.validQuantitiesUnique(data)
    }
    lock(data) {
        return this.api.lock(data)
    }

    chapterList() {
        return this.api.chapterList()
    }

    // 分类列表
    classifyList() {
        return this.api.classifyList()
    }

    quantitiesList(data) {
        return this.api.quantitiesList(data)
    }

    // 工程量清单列表，用于添加子项搜索返回二位数组
    quantitiesListSearch(data) {
        return this.api.quantitiesListSearch(data)
    }
    // 单位列表
    unitList(data) {
        return this.api.unitList(data)
    }
    // 子类新增
    childSaveOrUpdate(data) {
        return this.api.childSaveOrUpdate(data)
    }
    // 查询当前合同下的章次
    chapterListById(data) {
        return this.api.chapterListById(data)
    }
    // 当前合同新增章次
    chapterAdd(data) {
        return this.api.chapterAdd(data)
    }
    // 删除章次
    chapterDelete(data) {
        return this.api.chapterDelete(data)
    }
    // 已删除清单
    delList(data) {
        return this.api.delList(data)
    }
    // 导入
    import(data) {
        const form = new FormData()

        // 对象循环
        for (const key in data) {
            if (Object.hasOwnProperty.call(data, key)) {
                const value = data[key]
                form.append(key, value)
            }
        }
        console.log(form)
        return this.api.import(form)
    }
    // 子项删除
    deleteChild(data) {
        return this.api.deleteChild(data)
    }
    // 获取计日工和工程量汇总清单
    statisticsist(data) {
        return this.api.statisticsist(data)
    }

    // 复制合同
    copySave(data) {
        return this.api.copySave(data)
    }
    // 获取相关操作日志
    logsList(data) {
        return this.api.logsList(data)
    }
    // 获取子项清单操作日志
    billLogsList(data) {
        return this.api.billLogsList(data)
    }

    // 获取所有已经锁定的合同
    getListByLock(data) {
        return this.api.getListByLock(data)
    }

    // 获取合同养护范围
    getScopes(data) {
        return this.api.getScopes(data)
    }
}

export default ContractModel
